package com.innovations.inn.domain.response;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import lombok.Data;

/**
 * 科研成果请求出参
 *
 * @author dp
 * @date 2024-08-10
 */
@Data
public class ResponseResearchOutcomes extends ResponseUnitInfo {
    private static final long serialVersionUID = 1L;

    /**
     * 科研成果标识
     */
    private Long researchOutcomesId;

    /**
     * 科研成果标题
     */
    @JSONField(name = "科研成果标题")
    private String researchOutcomesTitle;

    /**
     * 科研成果简介
     */
    @JSONField(name = "科研成果简介")
    private String researchOutcomesDesc;

    /**
     * 科研成果预览图片
     */
    @JSONField(name = "科研成果预览图片")
    private String researchOutcomesPreview;

    /**
     * 科研成果内容
     */
    @JSONField(name = "科研成果内容")
    private String researchOutcomesContent;

    /**
     * 分类标识
     */
    @JSONField(name = "分类标识")
    private Long classifyId;

    /**
     * 转化意向
     */
    @ApiModelProperty(name = "转化意向")
    private BigDecimal conversion;

    /**
     * 状态:1.创建 2.提交 3.审核 4.拒审 5.下线
     */
    @JSONField(name = "状态:1.创建 2.提交 3.审核 4.拒审 5.下线")
    private Long state;

    /**
     * 创建用户标识
     */
    private Long createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 提交用户标识
     */
    @JSONField(name = "提交用户标识")
    private Long submitBy;

    /**
     * 提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "提交时间")
    private Date submitTime;

    /**
     * 审核人
     */
    @JSONField(name = "审核人")
    private Long auditBy;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "审核时间")
    private Date auditTime;

    /**
     * 拒绝原因
     */
    @JSONField(name = "拒绝原因")
    private String refusalReason;

    /**
     * 下线用户标识
     */
    @JSONField(name = "下线用户标识")
    private Long offlineBy;

    /**
     * 下线时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(name = "下线时间")
    private Date offlineTime;

    /**
     * 下线类型;1：主动下线；2：强制下线；3：达成合作下线；
     */
    @JSONField(name = "下线类型;1：主动下线；2：强制下线；3：达成合作下线；")
    private Long offlineType;

    /**
     * 下线原因
     */
    @JSONField(name = "下线原因")
    private String offlineReason;

//    /**
//     * 分类明细
//     */
//    @JSONField(name = "分类明细")
//    private List<OutcomesClassifyRelate> classifyRelateList;
//
//    /**
//     * 标签明细
//     */
//    @JSONField(name = "标签明细")
//    private List<OutcomesTagRelate> tagRelateList;

    /**
     * 分类明细
     */
    @JSONField(name = "分类明细")
    private List<Long> classifyIdList;

    /**
     * 标签明细
     */
    @JSONField(name = "标签明细")
    private List<String> tagDescList;


    /**
     * 分类修改标识
     */
    @ApiModelProperty(value = "分类修改标识")
    private Integer classifyModifyFlag;

    /**
     * 标签修改标识
     */
    @ApiModelProperty(value = "标签修改标识")
    private Integer tagModifyFlag;

    /**
     * 所属科研机构标识
     */
    @ApiModelProperty(value = "所属科研机构标识")
    private Long institutionId;

    /**
     * 科研成果类别标识
     */
    @ApiModelProperty(value = "科研成果类别标识")
    private Long researchOutcomesClass;

    /**
     * 科研成果体现形式
     */
    @ApiModelProperty(value = "科研成果体现形式")
    private Long researchOutcomesEmbodiment;

    /**
     * 科研成果阶段
     */
    @ApiModelProperty(value = "科研成果阶段")
    private Long researchOutcomesStage;

    /**
     * 科研成果应用状态
     */
    @ApiModelProperty(value = "科研成果应用状态")
    private Long researchOutcomesApplicationState;

    /**
     * 主要成分
     */
    @ApiModelProperty(value = "主要成分")
    private String mainIngredients;

    /**
     * 功效
     */
    @ApiModelProperty(value = "功效")
    private String efficacy;

    /**
     * 研发人员
     */
    @ApiModelProperty(value = "研发人员")
    private String developers;

}
